package com.gs.demo.utils;

import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;

/** 
 * @author gaoshang 
 * @date 创建时间：2019年11月21日 上午8:49:00 
 * @version 1.0 
 * @desc 
 */
@SuppressWarnings({ "unchecked", "hiding" })
public class NullStringToEmptyAdapterFactory<T> implements TypeAdapterFactory {
    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
        Class<T> rawType = (Class<T>) type.getRawType();
        if (rawType != String.class) {
            return null;
        }
        return (TypeAdapter<T>) new StringNullAdapter();
    }

}
